It is frequently desirable in signal processing to identify periodic phenomena in some function. In audio, a waveform that exhibits periodicity in time may be perceived as a pitched sound. In graphics, an image that exhibits periodicity in space may be perceived as a repeating pattern. Periodicities in other domains have other context-dependent meanings.
Prior art systems for identifying periodicity will, at minimum, attempt to determine a period of repetition in the domain of the signal. That domain may be time, space or some other domain. Prior art techniques for identifying periodicity approached the problem by testing a finite number of predetermined periods for some measure of self-similarity.
Known autocorrelation systems determine the self-similarity of a signal over one or more intervals. These systems use delay and multiplication; cepstrum analysis, which applies a Fourier transform to the signal and evaluates the periodicity of the resulting magnitude spectrum; and various other Fourier-based methods to identify periodicity in signal processing.
One drawback associated with such prior art systems is overtone aliasing, whereby upper harmonics of one fundamental frequency may appear as different upper harmonics of a different fundamental frequency. A change in fundamental frequency (ΔF) results in a larger change in each upper harmonic. The change in each upper harmonic can be represented as hΔF for each harmonic number h. Such systems make upper harmonics both more likely to fall outside the ranges of detection for the nearest analyzed period, and more likely to appear as aliases in more distant analyzed periods. Avoiding overtone aliasing would require a large number of analysis periods, requiring a large amount of computer processing power.
Another drawback associated with such prior art systems, particularly those that use long stretches of signal to make the determination, is the difficulty in using such systems to identify periodicity in waveforms having a variable periodicity.
While some systems using zero-crossing algorithms do not require specific periodicities to be monitored and require less computational power to execute, such systems have their own limitations. Systems using zero-crossing algorithms are commonly used for simple periodicity detectors such as guitar tuners. While such systems function well when a specific, known harmonic of the periodic activity (typically the fundamental) accounts for a majority of the energy in the signal subjected to the zero-crossing process, these systems have difficulty identifying periodicity in more complex waveforms. Thus, the applicability of such systems is substantially more limited than the systems described above.
The present invention is a “self-attunement” system, using one periodic analysis mechanism to do the work of many systems by dynamically adjusting itself to synchronize with signal periodicities. An earlier version of the present invention used self-attuning resonator cells that adjusted themselves to various periodicities in waveforms.
This earlier version of the present invention subjected an input signal to a phase process that generated a signal QA using a first-difference filter and generated a signal QB using a feedback comb filter (a trivial form of the helical resonator (HIR) described below) followed by a two-sample moving average filter. These signals exhibited total, exact quadrature at all frequencies. The system delayed QA by the analysis period, then multiplied the delayed QA by QB. The system divided the resulting product averaged over a small interval of time by a harmonic mean of the average power of QB and QA over the same small interval of time. The system then scaled by a hand-selected “attunement rate” to effect in a change in the analysis period of the system during a subsequent resampling of the waveform.
The system used dynamic resampling to repeatedly adjust the resampling analysis period. The resonator in this system oscillated with a period of L internal samples, where L is a predetermined and immutable property of the resonator and also acted as the analysis period. The external input signal (waveform) was sampled by the system to produce internal samples using a variable timestep R, measured in fractional external samples. The system's resonator's fundamental frequency was then S/RL, where S was the sampling rate in hertz. When the self-attunement system acted to increase the fundamental frequency of the resonator, the timestep was lowered and when the self-attunement system acted to decrease the fundamental frequency, the timestep was raised. This process facilitated self-attunement, but induced distortion into the signal and metrics which were not counteracted in this earlier version of the present invention.
The method of quantifying periodicity in this earlier system was called “convergence”, but was evaluated using a different method than the one employed in the present invention. In the earlier system, the internal input signal of the resonator was compared with an internal output signal generated by subjecting the internal input to an HIR filter. The metric was derived by comparing the power of the internal input, the internal output, and a difference signal produced by subtracting the two.
The earlier system used a rack or plurality of resonators, where resonators were assigned overlapping ranges covering a range of fundamental frequencies within the waveform to be analyzed. Unlike in the present invention, the resonator rack of the earlier version of the system performed no phase processing, which was done within the individual resonators of the older system.
Unfortunately, this earlier version of the present invention was unreliable and/or unresponsive for identifying periodicity in waveforms in applications such as vocal pitch tracking. Because the phase process of this earlier version assigned higher frequencies greater influence on the period adjustment, the system increased the likelihood that harmonic aliasing would result in incorrect attunement.